/**
 * The SVG defines section
 * @class SvgDefines
 * @extends SvgContainer
 */
var SvgDefines = {
    /**
     * Constructor
     * @private
     */
    init: function(parent, canvas) {        
        this._super("defs", parent, canvas);
    },
    /**
     * Creates a symbol element in the SVG defines section
     * @method symbol
     * @param {object} a Config object with attributes, read SVG specifications for valid attributes
     * @return {SvgContainer}
     */
    symbol: function(a) {
        return new SvgContainer("symbol", this.dom, this.canvas).attr(a ? a : {});
    },
    /**
     * Creates a lineargradient element in the SVG defines section
     * @method linearGradient
     * @param {object} a Config object with attributes, read SVG specifications for valid attributes
     * @return {SvgLinearGradient}
     */
    linearGradient: function(a) {
        return new SvgLinearGradient(this.dom, this.canvas).attr(a ? a : {});
    },
    /**
     * Creates a radialgradient element in the SVG defines section
     * @method radialGradient
     * @param {object} a Config object with attributes, read SVG specifications for valid attributes
     * @return {SvgRadialGradient}
     */
    radialGradient: function(a) {
        return new SvgRadialGradient(this.dom, this.canvas).attr(a ? a : {});
    }
    
};
SvgDefines = SvgContainer.extend(SvgDefines);